<?php

require_once 'Base/TurnRow.php';

/**
 * Generated Model class.
 */
class TurnRow extends Base_TurnRow
{
	/**
	 * Возвращает массив, содержащий время для постинга.
	 * 
	 * @return array
	 */
	public function getTimes()
	{
		if (!$this->getId()) return array();
		
		$turnTimeRowset = $this->getTurnTimeRowsetByTurnId();
		
		$array = array();
		foreach ($turnTimeRowset as $turnTimeRow) {
			$array[] = substr($turnTimeRow->getTime(), 0, -3);
		}
		
		return $array;
	}
	
	/**
	 * Возвращает true, если очередь простаивает (нет постов).
	 * 
	 * @return boolean
	 */
	public function isStay()
	{
		$select = TurnPostPeer::getInstance()->select();
		$select->where('is_posted = 0');
		$select->where('turn_id = ?', $this->getId());
		
		$count = TurnPostPeer::getInstance()->fetchCount($select);
		if ($count) {
			return false;
		}
		
		return true;
	}
	
	/**
	 * Возвращает время, когда начнется простой очереди в виде строки.
	 * 
	 * @return integer timestamp
	 */
	public function whenStay()
	{
		$select = TurnPostPeer::getInstance()->select();
		$select->where('is_posted = 0');
		$select->where('turn_id = ?', $this->getId());
		$select->order('post_datetime desc');
		
		$row = TurnPostPeer::getInstance()->fetchRow($select);
		if (!$row) {
			return time();
		}
		
		$time = strtotime($row->getPostDatetime());
		return $time;
	}
}

